package io.renren.modules.lucky.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.app.form.out.AppUserInfoForm;
import io.renren.modules.lucky.entity.AppUserInfoEntity;

import java.util.Map;

/**
 * app端-用户-基础信息表
 *
 * @author chenshun
 * @email chenchen@ashacker.com
 * @date 2019-08-31 20:58:38
 */
public interface AppUserInfoService extends IService<AppUserInfoEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 验证手机号的正确性
     *
     * @param phoneNum
     * @param smsCode
     * @return
     */
    Map<String, Object> validPhone(String phoneNum, String smsCode);

    /**
     * 用户注册接口
     *
     * @param phoneNum
     * @param userPwd
     * @param userToken
     * @param inviteCode
     * @return
     */
    AppUserInfoEntity register(String phoneNum, String userPwd, String userToken, String inviteCode);

    /**
     * 用户登录接口
     *
     * @param phoneNum
     * @param userPwd
     * @return
     */
    AppUserInfoEntity login(String phoneNum, String userPwd);

    /**
     * 根据用户id获取用户信息
     *
     * @param user_id
     * @param token
     * @return
     */
    Map<String, Object> queryUserInfo(String user_id, String token);

    /**
     * 保存用户信息
     *
     * @param infoEntity
     * @return
     */
    int saveUserInfo(AppUserInfoEntity infoEntity, String user_token);

    /**
     * 根据手机号获取用户信息或者注册新用户
     *
     * @param phoneNum
     * @return
     * @author HObOCat
     * @date 2019/11/7 14:27
     */
    AppUserInfoEntity queryOrRegistUserByPhoneNum(String phoneNum);

    /**
     * 获取用户信息 TODO
     *
     * @param phone
     * @return
     * @author HObOCat
     * @date 2019/11/8 10:26
     */
    AppUserInfoEntity queryUserInfo(String phone);

}

